package pe.gob.onpe.facade.local;

import java.util.List;
import javax.ejb.Local;

import pe.gob.onpe.ejb.Parametro;


/**
 * Local interface for ParametroFacade.
 * 
 * @author MyEclipse Persistence Tools
 */
@Local
public interface ParametroFacadeLocal {
	/**
	 * Perform an initial save of a previously unsaved Parametro entity. All
	 * subsequent persist actions of this entity should use the #update()
	 * method.
	 * 
	 * @param entity
	 *            Parametro entity to persist
	 * @throws RuntimeException
	 *             when the operation fails
	 */
	public void save(Parametro entity);

	/**
	 * Delete a persistent Parametro entity.
	 * 
	 * @param entity
	 *            Parametro entity to delete
	 * @throws RuntimeException
	 *             when the operation fails
	 */
	public void delete(Parametro entity);

	/**
	 * Persist a previously saved Parametro entity and return it or a copy of it
	 * to the sender. A copy of the Parametro entity parameter is returned when
	 * the JPA persistence mechanism has not previously been tracking the
	 * updated entity.
	 * 
	 * @param entity
	 *            Parametro entity to update
	 * @returns Parametro the persisted Parametro entity instance, may not be
	 *          the same
	 * @throws RuntimeException
	 *             if the operation fails
	 */
	public Parametro update(Parametro entity);

	public Parametro findById(Long id);

	/**
	 * Find all Parametro entities with a specific property value.
	 * 
	 * @param propertyName
	 *            the name of the Parametro property to query
	 * @param value
	 *            the property value to match
	 * @param rowStartIdxAndCount
	 *            Optional int varargs. rowStartIdxAndCount[0] specifies the the
	 *            row index in the query result-set to begin collecting the
	 *            results. rowStartIdxAndCount[1] specifies the the maximum
	 *            count of results to return.
	 * @return List<Parametro> found by query
	 */
	public List<Parametro> findByProperty(String propertyName, Object value,
			int... rowStartIdxAndCount);

	public List<Parametro> findByNombre(Object nombre,
			int... rowStartIdxAndCount);

	public List<Parametro> findByValorminimo(Object valorminimo,
			int... rowStartIdxAndCount);

	public List<Parametro> findByValormaximo(Object valormaximo,
			int... rowStartIdxAndCount);

	/**
	 * Find all Parametro entities.
	 * 
	 * @param rowStartIdxAndCount
	 *            Optional int varargs. rowStartIdxAndCount[0] specifies the the
	 *            row index in the query result-set to begin collecting the
	 *            results. rowStartIdxAndCount[1] specifies the the maximum
	 *            count of results to return.
	 * @return List<Parametro> all Parametro entities
	 */
	public List<Parametro> findAll(int... rowStartIdxAndCount);

	public List<Parametro> buscarPorTipo(String tipoParametro);
}